Analysis and Optimization of a General Linking Matrix for JSCC Scheme Based on Double LDPC Codes

A key component of the joint source-channel coding (JSCC) scheme based on double low-density parity-check (D-LDPC) codes is the introduction of a linking matrix between the source LDPC code and channel LDPC code, by which the decoding information including the source redundancy and channel state information can be transferred iteratively. However, the linking matrix is a fixed one-to-one mapping, i.e., an identity matrix in a conventional D-LDPC code system, which may not take full advantage of the decoding information. Therefore, this paper introduces a general linking matrix, i.e., a non-identity linking matrix, connecting the check nodes (CNs) of the source LDPC code and the variable nodes (VNs) of the channel LDPC code. Further, the encoding and decoding algorithms of the proposed D-LDPC coding system are generalized. A joint extrinsic information transfer (JEXIT) algorithm is derived for calculating the decoding threshold of the proposed system with a general linking matrix. In addition, several general linking matrices are optimized with the aid of the JEXIT algorithm. Finally, the simulation results demonstrate the superiority of the proposed D-LDPC coding system with general linking matrices.


Introduction
Compared with classical separate source and channel coding schemes, a common objective of joint source-channel coding (JSCC) schemes is to make full use of the source and channel information in order to boost the performance of the overall system. As a promising coding structure, a JSCC scheme consisting of two low-density parity-check (LDPC) codes was proposed in [1], where an LDPC code is for source compression and the other one is for channel coding. This scheme is referred to as the double LDPC (D-LDPC) coding system. Further, various LDPC codes have been investigated for D-LDPC systems, such as protograph LDPC codes [2,3], quasi-cyclic LDPC codes [4] and spatially coupled LDPC codes [5].
In the D-LDPC coding system, a core idea is the introduction of a linking matrix setting up the connections between the check nodes (CNs) of the source LDPC code and the variable nodes (VNs) of the channel LDPC code, and we name it as the source checkchannel variable (SC-CV) linking matrix. Using the SC-CV linking matrix, the joint belief propagation (BP) decoding can iteratively exchange the source redundancy and channel state information to improve the system performance. To achieve a better performance, the non-zero column vectors in the linking matrix should connect to the VNs with larger degrees in the channel LDPC code [6]. Moreover, the linking matrix can be optimized considering the degree distribution of the check nodes (CNs) of the source LDPC code [7].
In this paper, a generalized SC-CV linking matrix is introduced into the D-LDPC coding system. The conventional SC-CV linking matrix consists of a zero matrix and an

Related Work of D-LDPC Code Systems
In recent years, a majority of the work for D-LDPC code systems has been studied in order to improve the bit error rate (BER) performance in the water-fall region and errorfloor region. The former is evaluated by the channel decoding threshold and the latter is evaluated by the source decoding threshold. For DP-LDPC code systems, a joint protograph extrinsic information transfer (JPEXIT) algorithm [8] was proposed to analyze the channel decoding threshold. Based on the JPEXIT algorithm, an important structure, i.e., a degree-2 VN, was analyzed for DP-LDPC codes [9]. Several optimized channel protographs with more degree-2 VNs were proposed to lower the channel decoding threshold [10,11]. Moreover, this degree-2 VN structure can also help improve the source decoding threshold, which is analyzed by the source PEXIT (SPEXIT) algorithm [12]. In order to improve the error-floor performance, a linking matrix connecting the VNs of the source LDPC code and the CNs of the channel LDPC code, denoted as the source variable-channel check (SV-CC) linking matrix, was introduced in [6]. Further, several SV-CC linking matrices combined with source protographs are optimized based on the generalized SPEXIT algorithm [13]. Some integrated design work [14][15][16] of the joint protograph were conducted by differential evolution [17], where the cost function is the calculation of the decoding threshold. In addition, the improved sliding window decoding algorithm [18] and the joint grouping shuffled scheduling decoding algorithm [19] were proposed for the D-LDPC codes system.

Contribution
However, the aforementioned D-LDPC code systems are all based on the identity SC-CV linking matrix. The introduction of the non-identity linking matrix enables a more effective decoding information (e.g., source redundancy and channel state information) transfer between the source and channel LDPC codes.
The novelty and contributions of this paper can be summarized as follows.
(1) A general SC-CV linking matrix is introduced into the D-LDPC code system and the corresponding encoding and decoding algorithms are generalized. (2) In order to analyze the impacts of the general SC-CV linking matrix on both the channel decoding threshold and source decoding threshold, the corresponding EXIT algorithm is proposed. (3) Given several pairs of source and channel protographs, some general linking matrices constructed by a matrix operation are optimized.

Paper Organization
The remainder of this paper is organized as follows. Section 2 presents the preliminaries of the conventional D-LDPC code system. In Section 3, the novel D-LDPC code system with the proposed general linking matrix is presented as well as the generalized encoding and decoding algorithms. In Section 4, the evaluation of the source and channel decoding thresholds is described based on the JPEXIT algorithm. The structure of the proposed general linking matrix is first analyzed in Section 5, and then several general linking matrices are optimized for the given source and channel protographs pairs. The simulation results and comparisons are discussed in Section 6, and finally, Section 7 draws a conclusion of this paper.

Preliminaries on Conventional D-LDPC Coding Systems
An LDPC code can be represented by the sets {V, C, E }, respectively, indicating the set of VNs, CNs and the edges between VNs and CNs. It can also be represented by a parity-check matrix H = {h ij }, where h ij = 0 or 1, indicating if there is a connection from the j-th VN to the i-th CN .
Consequently, a JSCC system based on D-LDPC codes can be represented by the following parity-check matrix H J , In the conventional D-LDPC coding system, H L1 consists of an identity matrix, i.e., H * L1 = H I (size M s × M s ), and an all zero matrix. The identity matrix H I specifies the one-to-one connection between the CNs of H S and the VNs of H C . A generator matrix G C with a systematic form [I (P C ) T ] is obtained from H C by Gaussian elimination.

Encoding
For an independent and identically distributed (i.i.d.) Bernoulli (ξ 1 < 0.5) source, an original source sequence s (s ∈ {0, 1} 1×N s ) is encoded into codeword b by a parity-check matrix H T sc , i.e., b = s(H S ) T , where b of dimension 1 × M s denotes the compressed source bit sequence, and (·) T represents matrix transpose operation. Next, the compressed bits b is encoded by the matrix G C , i.e., where p is a parity bit sequence p (size 1 × M c ). Some bits in [b p] will be punctured if a punctured LDPC code H C is utilized. The left bits in [b p] are modulated by binary phase-shift keying (BPSK) and sent over an additive white Gaussian noise (AWGN) channel with noise following Gaussian distribution N (0, σ 2 ), where 2σ 2 = 1/(R × E b /N 0 ) (E b is the average energy of each channel bit and N 0 is the average energy of channel noise). The overall channel coding rate is expressed as where N p is the length of punctured bits.

Decoding
Let us first define Z S = [Z j S ] (j = 1, · · · , N s ) and Z C = [Z j C ] (j = N s + 1, · · · , N s + N c ). At the receiver, the corresponding initial log-likelihood ratio (LLR) of c is calculated by Z C = 2y/σ 2 for the transmitted part and 0 for the punctured part, where y is the received signal. We assume that the source statistics are known by the receiver (the source statistics can also be estimated during decoding procedure), and the LLR of sequence s is evaluated by Z S = log 1−ξ 1 ξ 1 . Note that the parity-check matrix H J in (2) can be regarded as a single LDPC code, by globally viewing the CNs and VNs of each component matrix. Accordingly, the joint decoding algorithm based on belief propagation (BP) can be performed on a single H J , as described below.
k ]) be the information passed from the j-th VN (respectively, i-th CN) to i-th CN (respectively, j-th VN) at the k-th iteration. As shown in Figure 1, the corresponding iterative decoding procedure is described as follows.
The information from the CNs to VNs is calculated for i = 1, 2, · · · , M s + M c , i.e., where tanh(·) is the hyperbolic tangent function.

3.
At the end of the k-th iteration, the LLRs of the estimated bitsŝ = [ and for j = N s + 1, · · · , N s + N c , 4.ĉ j (ŝ j ) can be estimated byĉ

5.
Ifĉ or k reaches the predetermined total number K of iterations, the decoding will stop and turn to Step 6; otherwise, the procedure goes back to Step 1 and starts the next iteration. 6.
The estimated information sequenceŝ is obtained.

The Proposed D-LDPC Code System with a General Linking Matrix
Different from the separated source LDPC coding and channel LDPC coding systems, the conventional D-LDPC code system sets up its connections via H * L1 , which is a simple identity matrix H I from the perspective of encoding. As for the functionality of H I from a decoding perspective, the information from channel decoding can be passed to source decoding, and vice versa, which allows to exchange the source redundancy and channel state information and accelerate the decoding process.
However, the one-to-one connection defined by H I may not make full use of this decoding information. Thus, a general linking matrix, i.e., non-identity matrix H * L1 , denoted as H P , will be introduced. The generalized encoding and decoding algorithm with a general linking matrix will be described as follows.

Generalized Encoding
The source coding procedure can be re-written as follows. A generated matrix with a systematic form G S = [I (P S ) T ] should first be obtained from [H * L1 H S ] by Gaussian elimination (denoted as "→"), i.e., As Thus, in order to obtain the compressed bits b, the encoding can be calculated by where the calculation of b is the (3).
The corresponding generated matrix G S = [(P new S ) T I] and Taking the channel coding procedure (4) into consideration, the total encoding algorithm can be generalized by

Generalized Decoding
By doing so, the overall joint parity-check matrix H J can be expressed as Considering that the vector u satisfies the joint decoding procedure from (6) to (11) can be directly applied to the proposed D-LDPC coding system and the (12) should be adjusted as where the joint Tanner graph of the proposed system is illustrated in Figure 2.

Joint Protograph
In order to illustrate the advantages of the application of the general linking matrix in the D-LDPC code system, the structured protograph LDPC codes are considered here. Different from the degree distribution representation of an irregular LDPC code, a protograph LDPC code is defined by a small protomatrix B = {b ij } (b ij is a non-negative integer), and a practical large parity-check matrix can be obtained by a "copy-and-permute" operation, such as the well-known progressive edge growth (PEG) algorithm [20]. The protomatrix not only clearly observes the change in code structure but also directly indicates the performance of the corresponding large parity-check matrix. Therefore, we only need to focus on the design of the small protomatrix of the corresponding large general linking matrix.
The joint protomatrix of a double protograph LDPC (DP-LDPC) code system is represented by where is the protomatrix of the general linking matrix and B I is an identity protomatrix, both of them corresponding to B * L1 ; • If a punctured protograph is used, then we denote by n punc the number of punctured VNs.
In order to obtain the corresponding parity-check matrix H J , the PEG algorithm with a parameter q 1 is employed to remove all parallel edges at the first step. Next, the same PEG algorithm with parameter q 2 is performed again to obtain a parity-check matrix of desired sizes.

Joint Protograph EXIT Algorithm
In the D-LDPC coding system, two decoding thresholds should be considered, i.e., channel decoding threshold (E b /N 0 ) th and source decoding threshold (ξ 1 ) th . The channel decoding threshold reflects the ultimate performance in the water-fall region. On the other hand, the source decoding threshold indicates the performance of the error-floor level, and a higher (ξ 1 ) th implies a lower error-floor level.
In order to determine the channel and source decoding thresholds, the JPEXIT algorithm has to be described. Let us first define the following five types of mutual information (MI). In addition, two functions J awgn (σ) and J bsc (µ, ξ 1 ) are defined. J awgn (σ) represents the MI between a binary bit sent over an AWGN channel and its corresponding LLR value, and it is given by Moreover, J bsc (µ, ξ 1 ) is a manipulation of the function J awgn (·), for a binary source with an i.i.d. Bernoulli distribution (ξ 1 < 0.5). In other words, the equivalent channel is a binary symmetric channel with ξ 1 < 0.5, and it is defined as where I(V; χ) is the MI between the VN of the source and χ, and , 2µ). Furthermore, the update procedure of the MI can be summarized as follows. • The MI update from VNs to CNs: For i = 1, · · · , m s + m c and j = 1, ..., n s , if b ij = 0, For i = 1, · · · , m s + m c and j = n s + 1, ..., n s + n c , if b ij = 0, where If b ij = 0, I v→c e (i, j) = 0, j = 1, · · · , n s + n c . For i = 1, · · · , m s + m c and j = 1, · · · , n s , •

The evaluation of I v app (j)
I v app (j) = J bsc (Υ v app (j), ξ 1 ), j = 1, · · · , n s J awgn (Υ v app (j) + σ 2 ), j = n s + 1, · · · , n s + n c , where The above MI update procedure will be conducted iteratively until all I v app (j) = 1 or the preset total number t max of iterations is reached. We point out that I v app (j) = 1 for all j = 1, · · · , n s + n c , implies that the decoding performance has converged.
In summary, the I v app (j) can be viewed as a function of independent variables B J , ξ 1 , σ 2 and t max , i.e., where σ 2 can be calculated from E b /N 0 . To this end, for a given B J and ξ 1 , the channel decoding threshold (E b /N 0 ) th is the minimum value E b /N 0 , making all I v app (j) = 1 [10].

Evaluation of the Decoding Threshold
The channel decoding threshold (E b /N 0 ) th indicates the performance of the water-fall regime. The conventional JPEXIT analysis only focuses on the protomatrix B J with an identity B I . Because a more general linking protomatrix B P is introduced, the MI transfer in B J will be changed and thus the channel decoding threshold will be different. Note that the MI updates from (25) to (29) will still remain the same.
The source decoding threshold (ξ 1 ) th indicates the performance of the error-floor level, which is the lowest BER when E b /N 0 approaches infinity. For the calculation of (ξ 1 ) th in the conventional source protograph EXIT (SPEXIT) analysis [12,13], it is assumed that the MI transfer from the channel part (B C ) to the source part (B S ) is full. Here, we set the I c→v a (i, j) = 1 for j = n s + 1, · · · n s + n c to make the information from the channel be fully correct. Thus, the source decoding threshold will not be affected by the structure of B P as well as B C and is decided by the structure of the source protomatrix B S .
In all, introducing the general linking matrix will only affect the channel decoding threshold of the DP-LDPC coding system.

Structure of the General Linking Protomatrix
In order to efficiently optimize the general linking matrix, we should first discuss its structure. H P should be a non-singular matrix in order to keep the matrix rank of P new S the same as that of P S , which also keeps the length of the compressed bit b.
Therefore, the general linking protomatrix B P is also a non-singular matrix. From the matrix theory, the elementary row transformation is defined by three kinds of matrix operations as follows: 1.
Multiply a non-zero value to one row of the matrix; 2.
Add a multiple of one row in the matrix to another row; 3.
Change the position of two rows in the matrix.
The elementary column transformation can also be defined via replacing the "row" with "column" in the definition above. Motivated by this, a non-singular square protomatrix (e.g., B P ) can be obtained by performing a series of elementary operations on an identity matrix (e.g., B I ). It is worth pointing out that if only operation-3 is performed for an identity matrix B I , it corresponds to the optimization of the connections between the VNs of the source protograph and the CNs of the channel protograph [7].
In order to further illustrate the structures of the general linking protomatrix, we take the following joint protomatrix as an example, i.e., where the linking part is a 2 × 2 identity matrix. The joint protograph is shown in Figure 3a.

Optimization Method
As mentioned above, the protomatrix B P can be constructed from the elementary matrix operations, which also determines the complexity (the row or column weight of the matrix can measure the complexity). In other words, if a set Θ consisting of all possible element values is given, the complexity of designing B P is determined. The complexity of the optimization also relies on the size of protomatrix, i.e., m p . If the general linking protomatrix is optimized directly, we should design a specific structure and simultaneously optimize the connections between the CNs of source protomatrix and the VNs of channel protomatrix. In [11], it is indicated that B P should connect to the VNs with the largest degree in the B C for the optimal channel decoding threshold. Therefore, the procedures of optimizing general linking protomatrix can be summarized in three steps:
Determine the connecting VNs of the channel protomatrix by employing the identity protomatrix B I ; 3.
Design the specific structure of B P (including the connecting CNs of the source protomatrix) based on the matrix operations of elementary row/column transformation.

Optimization Examples
The main tested parameters in the optimization are shown in Table 1.
where B S is the R4JA code, B C is the re-designed IAR4JA code [9] and B P is assumed to connect the VNs of [2 3 3] T and [0 1 1] T in the B C . The source decoding threshold shown in Table 2 is 0.028 and the channel decoding threshold at ξ 1 = 0.01 and 0.02 is −3.441 dB and −1.357 dB, respectively. For moderate searching complexity, the Θ here is set to be {0, 1, 2, 3}. All possible B P are analyzed by calculating channel and source decoding thresholds. Several representative B P are considered and their corresponding joint protomatrices are given in Table 2, where B opt1 J2 has the smallest (E b /N 0 ) th and B opt−2 J2 is a counterpart example. All of them have the same B S and B C . , it is found that the source decoding threshold has little difference, but the channel decoding threshold of B opt1 J2 is 0.582 dB, which is 2.084 dB lower than that of B conv J2 and B opt2 J2 for source statistic ξ 1 = 0.01. This difference is 0.321 dB, which is 1.027 dB for source statistic ξ 1 = 0.02.

Example 2.
Another joint protomatrix with a larger size at source statistic ξ 1 = 0.04 is taken as an example. The joint protomatrix includes a rate-1/2 source protograph and a rate-1/2 channel protograph given in [12]. In addition, we select Θ = {0, 1, 2} and m p = 4. According to step-(2), the B opt1 J−0.04 is given by and it has a channel decoding threshold of −1.666 dB. Next, the specific structure of general linking protomatrix is optimized as The corresponding joint protograph is denoted by B opt2 J−0.04 , which has a channel decoding threshold of −2.605 dB.
In the case of ξ 1 = 0.06, the optimized general linking protomatrix B opt1 I−0.06 is the same as that in the case of ξ 1 = 0.04, and we denote by B and the corresponding joint protograph is denoted by B opt2 J−0.06 , which has a channel decoding threshold of −1.149 dB. It is worth mentioning that the optimal B P is different for the case of ξ 1 = 0.04 and ξ 1 = 0.06, although they have the same B C and B S .
By observing the optimized general linking matrix, it is found that the VN with the largest degree is located in the same column as the VN with the largest degree of the channel protomatrix. Although this is not derived by mathematical proof, such experience can reduce the search complexity of the optimization.

Simulation and Comparison Results
The BER simulation is carried out to verify the analysis of the JPEXIT algorithm. The BER simulation is performed over AWGN channels and the maximum iteration number of the joint BP decoding algorithm is set to 100.

The BER Simulation of Example 1
The effect of introducing the general linking protomatrix B P for the water-fall region and error-floor region is analyzed in this subsection. Firstly, the two-step PEG algorithm mentioned in Section 4 with parameters q 1 = 4 and q 2 = 100 is performed for B  by 1.57 dB and 0.37 dB at BER = 2 × 10 −6 , respectively. In the case of ξ 1 = 0.02, the coding gain in the water-fall region remains the same as the case of ξ 1 = 0.01, and they show an error floor at a BER = 1 × 10 −5 , which is almost the same level. All of the BER simulation is in line with the source and channel.
Therefore, it can be concluded that the introduction of the general linking matrix plays an important role in the water-fall region, but it has limited effect on the error-floor region.

The BER Simulation of Example 2
The superiority of optimizing the general linking matrix H P is further discussed in this subsection. For a target size of N s = 3200, the two-step PEG algorithm with q 1 = 4 and q 2 = 50 is performed for B   Figure 4 for the comparison between ξ 1 = 0.01 and ξ 1 = 0.02.

Complexity Comparisons
In the BP decoding, the update in the CNs dominates the total complexity, which is represented by the average degree d c of a joint protograph, shown in Table 3. The decoding complexity of the proposed joint protograph increases by 2.8% ∼ 6.9% compared with the conventional ones, which stays in a comparable complexity level.

Conclusions
In conventional D-LDPC code systems, an identity linking matrix sets up the one-toone connection between the source coding and channel coding, but this connection can not take full advantage of the decoding information. In this paper, a general linking matrix providing more connections is introduced into the D-LDPC code system to generalize the joint encoding procedure. Moreover, protograph LDPC codes are taken as examples for demonstrating the strengths of the proposed general linking matrices. By the aid of the JPEXIT algorithm, several general linking protomatrices to improve the channel decoding threshold are optimized. The simulation results are in line with the JPEXIT analysis, and the coding gain of the proposed DP-LDPC is 0.36-1.57 dB, which verify the superiority of the D-LDPC coding system with the proposed linking matrix.
It should be pointed out that the proposed optimization of the general linking matrix and DP-LDPC code system can also be applicable to other types of LDPC codes. The optimization of the general linking matrices over the other scenario, e.g., the joint shuffled scheduling decoding [19], the Gaussian multiple access channel [21], the non-linear modulation [22] and the non-standard coding channel [23] (e.g., optical communication [24] and an on-body channel [25]), can be studied in future work.

Conflicts of Interest:
The authors declare no conflict of interest.

Abbreviations
The following abbreviations are used in this manuscript: